'use strict';

const {Service} = require('ee-core');
const {getDataBaseInfo,insertJsonDbRow,updateJsonDbRow,deleteJsonDbRow} = require('../utils/StorageJson')

/**
 * 示例服务（service层为单例）
 * @class
 */
class ConnectMngService extends Service {
    res={code:200,message:'成功'}
    constructor(ctx) {
        super(ctx);
    }

    /**
     * 获取所有连接信息
     */
    async allConnectList() {
        this.res.data=[]
        this.res.data=getDataBaseInfo('neuronConnections')
        return this.res
    }

    /**
     * 添加连接
     */
    async addConnect(args) {
        this.res.data={}
        let isSave=insertJsonDbRow('neuronConnections',args);
        if(!isSave){
            this.res.code=500
            this.res.message="保存失败"
        }
        return this.res
    }

    /**
     * 编辑连接
     */
    async editConnect(args) {
        this.res.data={}
        let isSave=updateJsonDbRow('neuronConnections',args);
        if(!isSave){
            this.res.code=500
            this.res.message="编辑失败"
        }
        return this.res
    }

    /**
     * 删除连接
     */
    async deleteConnect(args) {
        this.res.data={}
        let data=JSON.parse(args)
        let isSave=deleteJsonDbRow('neuronConnections',data.mainData.id);
        if(!isSave){
            this.res.code=500
            this.res.message="删除失败"
        }
        return this.res
    }

    /**
     * 复制连接
     */
    async cloneConnect(args) {
        this.res.data={}
        let data=JSON.parse(args)
        data.mainData.id=null
        let isSave=insertJsonDbRow('neuronConnections',data);
        if(!isSave){
            this.res.code=500
            this.res.message="复制失败"
        }
        return this.res
    }

}

ConnectMngService.toString = () => '[class ConnectMngService]';
module.exports = ConnectMngService;
